package com.stm.toolLedger.service;

import java.util.List;
import java.util.Map;

import com.stm.basicData.domain.KfToolsBox;
import com.stm.common.exception.BusinessException;
import com.stm.system.domain.SysUser;
import com.stm.toolLedger.domain.KfTools;



/**
 * 
 * @Description Rfidservice
 * @CreateTime 2019年4月4日 上午8:39:27
 * @CreateBy 林龙
 */
public interface KfToolsService
{
	/**
	 * 
	 * @Description 分页查询
	 * @CreateTime 2019年4月4日 上午8:39:44
	 * @CreateBy 林龙
	 * @param kfTools
	 * @return
	 */
    public List<KfTools> selectAllPageList(KfTools kfTools);

    
    /**
     * 
     * @Description 通过id查询
     * @CreateTime 2019年4月4日 上午8:41:48
     * @CreateBy 林龙
     * @param id
     * @return
     */
    public KfTools selectKfToolsById(String id);
    
	/**
	 * 
	 * @Description 保存
	 * @CreateTime 2019年4月4日 上午8:40:16
	 * @CreateBy 林龙
	 * @param kfTools
	 * @return
	 */
    public int insertKfTools(KfTools kfTools);

    
    /**
     * 
     * @Description 修改
     * @CreateTime 2019年4月4日 上午8:40:25
     * @CreateBy 林龙
     * @param kfTools
     * @return
     */
    public int updateKfTools(KfTools kfTools);

    /**
     * 
     * @Description 批量删除
     * @CreateTime 2019年4月4日 上午8:40:06
     * @CreateBy 林龙
     * @param ids
     * @return
     * @throws Exception
     */
    public int deleteKfToolsByIds(String ids) throws Exception;

    /**
     * 
     * @Description 试验申请详情列表
     * @CreateTime 2019年4月4日 上午11:57:25
     * @CreateBy 林龙
     * @param kfTools
     * @return
     */
	public List<KfTools> selectAllPageTestList(KfTools kfTools);

	/**
	 * 导入工具数据
	 *
	 * @param toolsList 工具数据列表
	 * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
	 * @param operName 操作用户
	 * @return 结果
	 */
	public String importTools(List<KfTools> toolsList, Boolean isUpdateSupport, String operName);



	/**
	 * 
	 * @Description 报废申请详情列表
	 * @CreateTime 2019年4月12日 上午9:18:00
	 * @CreateBy 林龙
	 * @param kfTools
	 * @return
	 */
	public List<KfTools> selectAllPageScrapList(KfTools kfTools);


	/**
	 * 
	 * @Description 根据状态查询库存数量
	 * @CreateTime 2019年4月16日 上午11:04:21
	 * @CreateBy 林龙
	 * @param i
	 * @return
	 */
	public int selectByNums(KfTools kfTools);

	/**
	 * 
	 * @param num 
	 * @Description 查询超期数量
	 * @CreateTime 2019年4月16日 上午11:04:45
	 * @CreateBy 林龙
	 * @return
	 */
	public int selectByOverdueNums(KfTools kfTools);

	/**
	 * 给工具写入RFID
	 *
	 * @param kfTools 工具信息
	 * @CreateBy wyc
	 * @return 结果
	 */
	public int writeToolRfid(KfTools kfTools);


	/**
	 * 
	 * @Description 根据rfid查询库存数据
	 * @CreateTime 2019年4月22日 下午1:42:11
	 * @CreateBy 林龙
	 * @param rfid
	 * @return
	 */
	public KfTools selectKfTools(String rfid);

	/**
	 * 
	 * @Description 预警分页数据
	 * @CreateTime 2019年4月30日 上午10:50:27
	 * @CreateBy 林龙
	 * @param kfTools
	 * @return
	 */
	public List<KfTools> selectWarnningAllPageList(KfTools kfTools);


	/**
	 * 
	 * @Description 前端直接报废
	 * @CreateTime 2019年4月30日 下午4:29:43
	 * @CreateBy 林龙
	 * @param ids
	 * @param sysUser 
	 * @return
	 */
	public int scrappedByPrimary(String ids, SysUser sysUser)throws BusinessException;


	 /**
     * 
     * @Description 首页报表饼图
     * @CreateTime 2019年5月13日 下午2:36:33
     * @CreateBy 林龙
     * @param kfToolsInoutRecords
     * @return
     */
	public List<Map<String, Object>> getChartData(KfTools kfTools);

	/**
	 * 
	 * @Description 批量修改打印状态
	 * @CreateTime 2019年7月5日 上午9:48:03
	 * @CreateBy 林龙
	 * @param ids
	 * @param loginName 
	 * @return
	 */
	public int printKfToolsByIds(String ids,String num, String loginName);




	/**
	 * 
	 * @Description 手机端查询
	 * @CreateTime 2019年7月9日 上午9:05:21
	 * @CreateBy 林龙
	 * @param id
	 * @return
	 */
	public Object selectKfToolsPhoneById(String id);


	public List<KfTools> selectAllPageListByIds(String ids);


	public void updateKfToolsIds(KfTools kfTools);


	public List<KfTools> selectNotReturnedNums(KfTools kfTools);


	public List<KfTools> selectAllPageJcList(KfTools kfTools);

}
